本发明公开了一种基于TRILL网络的处理报文的方法,通过分别为sub-TLV和具体AVF信息增加字段,分别用以标识该sub-TLV中携带的RB,以及某RB的转发VLAN的范围,为各个Information和sub-TLV之间建立联系,基于同样的发明构思,本发明还提出一种路由桥,能够完整地将AVF信息传递给各RB,且不产生错误覆盖。
1.一种基于多链接透明互联TRILL网络的处理报文的方法,其特征在于,所述方法包括:若当前路由桥RB被选举为指定路由桥DRB,发送携带指定转发者子类型长度值Appointedxa0Forwardersxa0sub-TLV的Hello报文时,在所述Appointedxa0Forwardersxa0sub-TLV中增加RB连续标识,当该Appointedxa0Forwardersxa0sub-TLV携带第一个RB信息时,所述RB连续标识置为开始,携带最后一个RB信息时,所述RB连续标识置为结束;在该Appointedxa0Forwardersxa0sub-TLV中携带的各RB的信息information中增加虚拟局域网VLAN连续标识,当该RB的information中携带该RB的起始VLAN时,所述VLAN连续标识置为开始,携带该RB的结束VLAN时,所述VLAN连续标识置为结束;若其他RB被选举为DRB,当前RB接收到携带Appointedxa0Forwardersxa0sub-TLV的握手Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中包含自身信息时,获取该RB的information中VLAN连续标识为开始到结束的所有VLAN信息,并对所述所有VLAN信息取并集作为自身的转发VLAN。
2.根据权利要求1所述的方法,其特征在于,若当前RB接收到携带Appointedxa0Forwardersxa0sub-TLV的Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中未包含自身信息时,所述方法进一步包括:当前RB确定自身是否已分得转发VLAN,如果是,将已分得的转发VLAN清除,在处理接收的Hello报文时不处理该Hello报文携带的所述Appointedxa0Forwardersxa0sub-TLV。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:所述Appointedxa0Forwardersxa0sub-TLV中携带的RB信息按RB的昵称Nickname大小从小到大进行排序,当携带Nickname最小的RB的RB信息时,所述RB连续标识置为开始,当携带Nickname最大的RB的RB信息时,所述RB连续标识置为结束;所述从携带的RB连续标识为开始到结束的Hello报文中未包含自身信息为下述情况之一:接收的Hello报文中携带的RB连续标识置为开始的RB的Nickname大于当前RB的Nickname;接收的Hello报文中携带的RB连续标识置为结束的RB的Nickname小于当前RB的Nickname;当前RB的Nickname属于接收到的Hello报文所标识的Nickname段,而该Hello报文的Appointedxa0Forwardersxa0sub-TLV中并不包含自身的Nickname。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法进一步包括:所述各RB的information中的VLAN信息按VLAN的大小从小到大进行排序,当携带该RB的最小VLAN时,所述VLAN连续标识置为开始;当携带该RB的最大VLAN时,所述VLAN连续标识置为结束。
5.一种基于多链接透明互联TRILL网络的处理报文的路由桥RB,其特征在于,所述RB包括:收发单元,增加单元和获取单元;所述收发单元,用于当自身所在RB被选举为DRB时,发送携带指定转发者子类型长度值Appointedxa0Forwardersxa0sub-TLV的Hello报文;当其他RB被选举为指定路由桥DRB时,接收携带Appointedxa0Forwardersxa0sub-TLV的Hello报文;所述增加单元,用于在所述收发单元发送的所述Appointedxa0Forwardersxa0sub-TLV中增加RB连续标识,当该Appointedxa0Forwardersxa0sub-TLV携带第一个RB信息时,所述RB连续标识置为开始,携带最后一个RB信息时,所述RB连续标识置为结束;在该Appointedxa0Forwardersxa0sub-TLV中携带的各RB的信息information中增加虚拟局域网VLAN连续标识,当该RB的information中携带该RB的起始VLAN时,所述VLAN连续标识置为开始,携带该RB的结束VLAN时,所述VLAN连续标识置为结束;所述获取单元,用于当所述收发单元接收的且从携带的RB连续标识为开始到结束的握手Hello报文中包含自身所在RB信息时,获取自身所在RB的information中VLAN连续标识为开始到结束的所有VLAN信息,并对所述所有VLAN信息取并集作为自身的转发VLAN。
6.根据权利要求5所述的RB,其特征在于,所述RB进一步包括:确定清除单元;所述确定清除单元,用于所述收发单元接收到携带Appointedxa0Forwardersxa0sub-TLV的Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中未包含自身所在RB的信息时,确定自身所在RB是否已分得转发VLAN,如果是,将已分得的转发VLAN清除,在处理接收的Hello报文时不处理该Hello报文携带的所述Appointedxa0Forwardersxa0sub-TLV。
7.根据权利要求6所述的RB,其特征在于,所述增加单元,进一步用于将所述Appointedxa0Forwardersxa0sub-TLV中携带的RB信息按RB的昵称Nickname大小从小到大进行排序,当携带Nickname最小的RB的RB信息时,所述RB连续标识置为开始,当携带Nickname最大的RB的RB信息时,所述RB连续标识置为结束;所述确定清除单元,用于在确定所述收发单元接收的Hello报文中携带的RB连续标识置为开始的RB的Nickname大于自身所在RB的Nickname;或,确定所述收发单元接收的Hello报文中携带的RB连续标识置为结束的RB的Nickname小于自身所在RB的Nickname;或,自身所在RB的Nickname属于接收到的Hello报文所标识的Nickname段,而该Hello报文的Appointedxa0Forwardersxa0sub-TLV中并不包含自身的Nickname时,执行确定自身所在RB是否已分得转发VLAN操作。
8.根据权利要求5-7任意一项所述的RB,其特征在于,所述增加单元,进一步用于将所述各RB的information中的VLAN信息按VLAN的大小从小到大进行排序,当携带该RB的最小VLAN时,所述VLAN连续标识置为开始;当携带该RB的最大VLAN时,所述VLAN连续标识置为结束。
技术领域本发明涉及通信技术领域,特别涉及一种基于TRILL网络的处理报文的方法和路由桥。
背景技术多链接透明互联(TRILL)是IETF推荐的L2网络标准。TRILL具有很高的重要性,因为大型数据中心开始利用FCoE等新技术将存储传输和IP传输融合到以太网连接上,而标准的生成树协议(STP)将不再适合融合网络或超大型数据中心的扩展。随着FCoE采用率的提高,企业存储将开始加入IP网络上的其他协议。从存储的角度来看,随着时间的推移,TRILL至少可以代替L2网络上普遍使用的STP协议。在TRILL网络中,每个RB设备使用Hello报文与直连的RB设备进行交互。同一链路上的RB选举出一个DRB,由DRB为每个链路上的每个RB分配转发VLAN,分配到转发VLAN的RB即为该VLAN的指定转发者(AVF)。DRB发送的Hello报文中的指定转发者子类型长度值(Appointedxa0Forwardersxa0sub-TLV)用于通知链路上的RB设备分得的转发VLAN,此RB设备就作为该VLAN上数据的唯一发送和接收端口,实现了STP协议的环路避免。一个RB(用Nickname区分)连续的VLAN段形成sub-TLV的一个Information。当RB设备分得的转发VLAN较多且不连续时,该sub-TLV会多次出现,占用较多的字节,尤其TRILL网络中RB较多时,可能会导致无法在一个Hello报文携带所有的Appointedxa0Forwardersxa0sub-TLV;而从当前的定义来看,各个Information和sub-TLV之间都没有任何关联,所以无法实现使用多个Hello报文分批携带该sub-TLV。一旦出现这种情况,现有实现通过只携带不完整的AVF信息,或认为错误而不发送Hello报文,因此现有实现不能解决由于Appointedxa0Forwardersxa0sub-TLV携带信息过多超出Hello报文最大值而导致无法正确处理的问题。
发明内容有鉴于此,本发明提供一种基于TRILL网络的处理报文的方法和路由桥。能够完整地将AVF信息传递给各RB,且不产生错误覆盖。为解决上述技术问题,本发明的技术方案是这样实现的:一种基于TRILL网络的处理报文的方法,所述方法包括:若当前RB被选举为DRB,发送携带Appointedxa0Forwardersxa0sub-TLV的Hello报文时,在所述Appointedxa0Forwardersxa0sub-TLV中增加RB连续标识,当该Appointedxa0Forwardersxa0sub-TLV携带第一个RB信息时,所述RB连续标识置为开始,携带最后一个RB信息时,所述RB连续标识置为结束;在该Appointedxa0Forwardersxa0sub-TLV中携带的各RB的information中增加VLAN连续标识,当该RB的information中携带该RB的起始VLAN时,所述VLAN连续标识置为开始,携带该RB的结束VLAN时,所述VLAN连续标识置为结束;若其他RB被选举为DRB,当前RB接收到携带Appointedxa0Forwardersxa0sub-TLV的Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中包含自身信息时,获取该RB的information中VLAN连续标识为开始到结束的所有VLAN信息,并对所述所有VLAN信息取并集作为自身的转发VLAN。一种基于TRILL网络的处理报文的路由桥RB,所述RB包括:收发单元,增加单元和获取单元;所述收发单元,用于当自身所在RB被选举为DRB时,发送携带Appointedxa0Forwardersxa0sub-TLV的Hello报文;当其他RB被选举为DRB时,接收携带Appointedxa0Forwardersxa0sub-TLV的Hello报文;所述增加单元,用于在所述收发单元发送的所述Appointedxa0Forwardersxa0sub-TLV中增加RB连续标识,当该Appointedxa0Forwardersxa0sub-TLV携带第一个RB信息时,所述RB连续标识置为开始,携带最后一个RB信息时,所述RB连续标识置为结束;在该Appointedxa0Forwardersxa0sub-TLV中携带的各RB的information中增加VLAN连续标识,当该RB的information中携带该RB的起始VLAN时,所述VLAN连续标识置为开始,携带该RB的结束VLAN时,所述VLAN连续标识置为结束;所述获取单元,用于当所述收发单元接收的且从携带的RB连续标识为开始到结束的Hello报文中包含自身所在RB信息时,获取自身所在RB的information中VLAN连续标识为开始到结束的所有VLAN信息,并对所述所有VLAN信息取并集作为自身的转发VLAN。综上所述,本发明通过分别为sub-TLV和具体AVF信息增加字段,分别用以标识该sub-TLV中携带的RB,以及某RB的转发VLAN的范围,为各个Information和sub-TLV之间建立联系,扩展了Appointedxa0Forwardersxa0sub-TLV的标识能力,能够完整地将AVF信息传递给各RB,且不产生错误覆盖。
附图说明图1为本发明实施例中处理Hello报文的流程示意图;图2为本发明具体实施例中Appointedxa0Forwardersxa0sub-TLV的格式定义示意图;图3为本发明具体实施例中各RB信息的格式定义示意图;图4为本发明具体实施例中处理Hello报文的RB的结构示意图。
具体实施方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。参见图1,图1为本发明实施例中处理Hello报文的流程示意图。具体步骤如下:步骤101,若当前RB被选举为DRB,发送携带Appointedxa0Forwardersxa0sub-TLV的Hello报文时,在该Appointedxa0Forwardersxa0sub-TLV中增加RB连续标识,当该Appointedxa0Forwardersxa0sub-TLV携带第一个RB信息时,RB连续标识置为开始,携带最后一个RB信息时,RB连续标识置为结束。本步骤中,Appointedxa0Forwardersxa0sub-TLV中携带的RB信息按RB的Nickname大小从小到大进行排序,当携带Nickname最小的RB的RB信息时,RB连续标识置为开始,当携带Nickname最大的RB的RB信息时,RB连续标识置为结束。步骤102,当前RB在该Appointedxa0Forwardersxa0sub-TLV中携带的各RB的information中增加VLAN连续标识,当该RB的information中携带该RB的起始VLAN时,VLAN连续标识置为开始,携带该RB的结束VLAN时,VLAN连续标识置为结束。本步骤中各RB的information中的VLAN信息按VLAN的大小从小到大进行排序,当携带该RB的最小VLAN时,VLAN连续标识置为开始;当携带该RB的最大VLAN时,VLAN连续标识置为结束。步骤103,若其他RB被选举为DRB,当前RB接收到携带Appointedxa0Forwardersxa0sub-TLV的Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中包含自身信息时,获取该RB的information中VLAN连续标识为开始到结束的所有VLAN信息,并对所有VLAN信息取并集作为自身的转发VLAN。若当前RB接收到携带Appointedxa0Forwardersxa0sub-TLV的Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中未包含自身信息时,该方法进一步包括:当前RB确定自身是否已分得转发VLAN,如果是,将已分得的转发VLAN清除,在处理接收的Hello报文时不处理该Hello报文携带的所述Appointedxa0Forwardersxa0sub-TLV。下面参见附图,举具体实施例详细说明本发明的实现过程。本发明具体实施例中扩展了现有的Appointedxa0Forwardersxa0sub-TLV的实现,分别为Appointedxa0Forwardersxa0sub-TLV和具体AVFxa0Information增加属性字段,通过属性字段的两个位置的取值标识不同的范围。参见图2,图2为本发明具体实施例中Appointedxa0Forwardersxa0sub-TLV的格式定义示意图。L和S位(各1bit)分别表示RB的Nickname最小和RB的Nickname最大的标识位,如果S位置1,表示该报文包含了所要携带的Nickname最小的RB的RB信息;如果L位置1,表示该报文包含了所要携带的Nickname最大的RB的RB信息。Appointedxa0Forwardersxa0sub-TLV中所携带的RB信息,按RB的Nickname大小进行排列。如果S位置1,表示该sub-TLV中有持有最小Nickname的RB的AVF信息;如果L位置1,表示该sub-TLV中有持有最大Nickname的RB的AVF信息。参见图3,图3为本发明具体实施例中各RB信息的格式定义示意图。对于Appointedxa0Forwardersxa0sub-TLV中的各RB的Information中新增的字段,如果S位置1,表示该Information中带有该RB分得的最小转发VLAN;如果L位置1,表示该Information中带有该RB分得的最大转发VLAN。当Hello报文中该Appointedxa0Forwardersxa0sub-TLV的S位置1,而本RB的Nickname小于该Appointedxa0Forwardersxa0sub-TLV中标识的最小Nickname;或,Hello报文中该Appointedxa0Forwardersxa0sub-TLV的L位置1,而本RB的Nickname大于该Appointedxa0Forwardersxa0sub-TLV中标识的最大Nickname;或该RB的Nickname属于接收到的Hello报文所标识的Nickname段,而该Hello报文的Appointedxa0Forwardersxa0sub-TLV中并不包含自身的Nickname。确定该RB是否已分得转发VLAN,如果是,将已分配的AVF全部清除,在处理接收的Hello报文时不处理该Hello报文携带的Appointedxa0Forwarderssub-TLV。在上述两种情况中,只要确定该RB的Nickname大于携带的RB的最大Nickname,或小于携带的RB的最小Nickname,,或属于接收到的Hello报文所标识的Nickname段,但不存在相等的Nickname,即可确定该次DRB未为该RB分配AVF,可以直接确定原先是否已分配AVF,如果分配直接清除,且不对该次DRB分配的AVF进行处理。当该RB的Nickname不小于接收的Hello报文中携带的RB连续标识置为开始的RB的Nickname,不大于接收的Hello报文中携带的RB连续标识置为结束的RB的Nickname,且不等于接收的Hello报文中携带的RB的Nickname,确定该RB是否已分得转发VLAN,如果是,将已分配的AVF全部清除,在处理接收的Hello报文时不处理该Hello报文携带的Appointedxa0Forwardersxa0sub-TLV。上述情况确定RB的Nickname不小于接收的Hello报文中携带的RB连续标识置为开始的RB的Nickname,不大于接收的Hello报文中携带的RB连续标识置为结束的RB的Nickname时,并不能确定该次DRB是否为该RB分配AVF,只有与所有接收的Hello报文中携带的RB的Nickname都不相等时,才能确定该次DRB未为该RB分配AVF。这时才确定原先是否已分配AVF,如果分配直接清除,且不对该次DRB分配的AVF进行处理。如该RB的Nickname为7,而收到的Hello报文中携带的RB连续标识置为开始的RB的Nickname为5,则后续收到的Hello报文中携带的RB的Nickname不小于5,可能存在等于7的,因此此时维持该RB的AVF信息,无论是否已分配,不进行处理,直到确定该次DRB未分配AVF或收集到所有的AVF信息时。RB属于Hello报文中该sub-TLV所标识的Nickname段,但该sub-TLV中并不包含该RB的Nickname;则表示本RB没有分得任何转发VLAN,即自身不作为任何VLAN的转发者。该RB的AVF信息保持不变,避免了网络产生不应有的振荡。如果RB属于Hello报文中该sub-TLV所标识的Nickname段,且该Appointedxa0Forwardersxa0sub-TLV中包含该RB的Nickname,则从收到S位置1的Information开始,直到收到L位置1的Informaiton,期间所有的Information所标识该RB的转发VLAN取并集,即为该RB全部的转发VLAN。确定了该RB该次分得的转发VLAN时,如果该RB已分得转发VLAN,可以将已分得的清除,也可以直接覆盖已分得的VLAN,还可以与已分得的做比较,添加该次分得原先未分得的转发VLAN,删除原先分得该次未分得的转发VLAN。当一个Hello报文无法携带所有RB的Appointedxa0Forwardersxa0sub-TLV时,S/L位用于标识前后报文的连续关系;当Hello报文无法携带该RB的所有AVF分配信息时,S/L用于标识前后报文VLAN的连续关系。基于上述同样的发明构思,本发明还提出一种处理报文的RB。参见图4,图4为本发明具体实施例中处理Hello报文的RB的结构示意图。该RB包括:收发单元401,增加单元402和获取单元403。收发单元401,用于当自身所在RB被选举为DRB时,发送携带Appointedxa0Forwardersxa0sub-TLV的Hello报文;当其他RB被选举为DRB时,接收携带Appointedxa0Forwardersxa0sub-TLV的Hello报文。增加单元402,用于在收发单元401发送的Appointedxa0Forwardersxa0sub-TLV中增加RB连续标识,当该Appointedxa0Forwardersxa0sub-TLV携带第一个RB信息时,RB连续标识置为开始,携带最后一个RB信息时,RB连续标识置为结束;在该Appointedxa0Forwardersxa0sub-TLV中携带的各RB的information中增加VLAN连续标识,当该RB的information中携带该RB的起始VLAN时,VLAN连续标识置为开始,携带该RB的结束VLAN时,VLAN连续标识置为结束。获取单元403,用于当收发单元401接收的且从携带的RB连续标识为开始到结束的Hello报文中包含自身所在RB信息时,获取自身所在KB的information中VLAN连续标识为开始到结束的所有VLAN信息,并对所述所有VLAN信息取并集作为自身的转发VLAN。较佳地,该RB进一步包括:确定清除单元404。确定清除单元404,用于收发单元401接收到携带Appointedxa0Forwardersxa0sub-TLV的Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中未包含自身所在RB的信息时,确定自身所在RB是否已分得转发VLAN,如果是,将已分得的转发VLAN清除,在处理接收的Hello报文时不处理该Hello报文携带的Appointedxa0Forwardersxa0sub-TLV。较佳地,增加单元402,进一步用于将Appointedxa0Forwardersxa0sub-TLV中携带的RB信息按RB的Nickname大小从小到大进行排序,当携带Nickname最小的RB的RB信息时,所述RB连续标识置为开始,当携带Nickname最大的RB的RB信息时,所述RB连续标识置为结束;确定清除单元404,用于在确定收发单元401接收的Hello报文中携带的RB连续标识置为开始的RB的Nickname大于自身所在RB的Nickname;或,确定收发单元401接收的Hello报文中携带的RB连续标识置为结束的RB的Nickname小于自身所在RB的Nickname;或,确定自身所在RB的Nickname属于接收到的Hello报文所标识的Nickname段,而该Hello报文的Appointedxa0Forwardersxa0sub-TLV中并不包含自身的Nickname时,执行确定自身所在RB是否已分得转发VLAN操作。较佳地,增加单元402,进一步用于将各RB的information中的VLAN信息按VLAN的大小从小到大进行排序,当携带该RB的最小VLAN时,VLAN连续标识置为开始;当携带该RB的最大VLAN时,VLAN连续标识置为结束。上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。综上所述,本发明具体实施例通过分别为Appointedxa0Forwardersxa0sub-TLV和具体AVF信息增加字段,分别用以标识该sub-TLV中携带的RB,以及某RB的转发VLAN的范围,为各个Information和sub-TLV之间建立联系,扩展了Appointedxa0Forwardersxa0sub-TLV的标识能力,能够完整地将AVF信息传递给各RB,且不产生错误覆盖。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。